데이터 모델링
✒️ 2025-05-28 15:07 내용 수정
참고 자료 : AWS 데이터 모델링이란 무엇인가요, IBM 데이터 모델링이란, Inpa dev's 데이터 모델링 개념 & ERD 다이어그램 작성 총정리
데이터 모델링
조직의 정보 수집과 관리 시스템을 정의하는 시각적 표현 또는 청사진을 생성하는 프로세스
- 시스템 내에서 사용되고 저장되는 데이터의 유형, 데이터 사이의 관계, 데이터를 저장하고 분석하는데 사용하는 방식, 데이터의 형식과 특성을 나타내기 위해 사용한다.
요구 사항 분석
- 데이터 모델은 비즈니스 요구 사항을 중심으로 빌드된다.
- 초기에 업무를 시작하기 전에 해당 업무에 대해서 파악하는 단계이다.
- 비즈니스 이해 관계자의 피드백을 바탕으로 규칙과 요구 사항을 정의한다.
모델링의 중요성 및 이점
- 기업 차원에서 다양한 소스로부터 많은 양의 데이터를 수집하고, 이를 분석해야 하기 때문에 효율적인 데이터 수집, 저장, 처리가 필요하다.
- 데이터 모델링은 데이터를 이해하고 저장 및 관리에 필요한 올바른 기술을 선택할 수 있는 기회를 제공해준다.
- 소프트웨어 및 데이터베이스 개발의 오류를 줄일 수 있다.
- 데이터베이스 설계 및 생성 속도와 효율성을 촉진시킬 수 있다.
- 전사적 범위에서 문서화 및 시스템 설계의 일관성을 향상 시킬 수 있다.
- 데이터 엔지니어와 비즈니스 인텔리전스 팀간의 소통 향상에 도움을 준다.
- 개념 단계, 논리적 단계, 물리적 단계에서 더 쉽고 빠르게 데이터베이스 설계 프로세스를 진행할 수 있다.
사용 기법과 데이터 모델링 기술 유형
- 표준화된 스키마 및 공식적인 기법을 사용한다.
| 종류 | 설명 |
|---|---|
| 계층적 데이터 모델링 | 다양한 데이터 요소 간의 관계를 트리 형식으로 나타냄 |
| 각 레코드에 하나의 상위 또는 root 데이터 클래스와 연결되고, 하나 이상의 자식 테이블에 매핑됨 | |
| 그래프 데이터 모델링 | 엔티티(Entity)를 동등하게 취급하는 데이터 관계를 나타냄 |
| 상위 또는 하위 개념 없이 일대다 또는 다대다 관계로 서로 연결 | |
| 관계형 데이터 모델링 | 데이터 클래스를 테이블로 시각화하여 사용하는 모델링 방식 |
| 실제 엔티티 관계를 나타내는 키를 사용하여 서로 다른 데이터 테이블을 결합하거나 연결 | |
| 엔티티 관계 데이터 모델링(ERM) | 공식 다이어그램을 사용하여 데이터베이스의 개체(엔티티)간의 관계를 나타냄 |
| 객체 지향 데이터 모델링 | 현실의 엔티티를 추상화한 객체라는 데이터 구조를 사용하여 데이터를 저장 |
| 객체는 클래스 계층 구조와 비슷하고, 멀티미디어 데이터베이스 등에서 많이 사용함 | |
| 차원 모델링 | 데이터 웨어하우스에서 분석을 위해 데이터 검색 속도를 최적화하도록 설계됨 |
| 검색을 위해 더 쉽게 정보를 찾을 수 있도록 중복 데이터를 사용함 |
- ERD(Entity-Relationship Diagram) : 개체 관계 데이터 모델링의 다이어그램
- 참고 자료 : 위키백과 개체-관계 모델
- MySQL로 ERD 생성하기 : Inpa dev's MySQL 워크벤치에서 테이블 ERD 생성하기 / 쿼리 추출하기
- ERD CLOUD 온라인 페이지에서 ERD 생성하기 : Inpa dev's ERD Cloud - ERD 다이어그램을 온라인에서 그려보자
데이터 모델의 유형
- 데이터를 개념 및 추상적으로 표현한 후 점점 더 구체화하는 것으로 진행된다.
- 프로젝트를 진행할 때 데이터 모델링 기술을 선택하고, 데이터 모델 과정을 따라 설계를 진행하면 수월하게 프로젝트 설계를 할 수 있다.
1. 개념적 데이터 모델(도메인 모델)
- 시스템에 무엇이 포함되고 어떻게 구성될 건지 거시적으로 구상하는 단계
- 초기 프로젝트 요구 사항을 수집하는 과정에서 생성된다.
- 시스템에 들어있는 데이터, 데이터 속성 및 제약 조건, 데이터와 관련된 비즈니스 규칙, 데이터 구성 방법, 보안 및 데이터 무결성 요구 사항 등을 설계한다.
2. 논리적 데이터 모델
- 해당 도메인의 개념 및 관계에 관한 더 구제적인 정보를 설계하는 단계
- 개념적 데이터 클래스를 기술적 데이터 구조에 연결하여 더 구체화한다.
- 데이터 유형과 길이 등의 데이터 속성을 표시하고 엔티티 간의 관계를 보여준다.
- 기술적 시스템 요구 사항을 지정하진 않는다.
- 정규화를 통해 데이터 모델의 일관성을 확보하고, 중복을 제거하여 신뢰성 있는 데이터 구조를 얻는데 목적이 있다.
3. 물리적 데이터 모델
- 데이터베이스 내에서 데이터가 물리적으로 저장되는 방식을 만드는 단계
- 엔티티 간의 관계를 나타내는 연관 테이블, 관계를 유지하는데 필요한 기본키와 외래키를 구체적으로 생성한다.
- DBMS에 표현된 데이터 필드 유형, DBMS에 표현된 데이터 관계, 성능 조정 등과 같은 세부 정보를 추가한다.
- 최종적으로 데이터를 관리할 데이터베이스를 선택하고, 선택한 데이터베이스에 실제 테이블을 만드는 작업이 포함된다.